<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>

</body>
<script>
  <!--环境和作用域-->
  //环境存在的价值是被需要，环境是有作用范围的
  let title = 'hello';

  function hd() {
    alert(title)
  }

  // 定义在全局的变量不会被回收

  // 如果在一个环境定义的数据，他有被引用，那么他就不会被删除，就可以完成一些累计操作，延长了某些变量的生命周期

  // 实际上这就是闭包了
  function demo() {
    let n = 1;
    return function sum() {
      console.log(++n);
    }
  }

  let a = demo();
  a();
  a();

  let b = demo();
  b();

</script>
</html>
